Робота з WinAPI функціями та доступ до системних ресурсів

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
КН
Кафедра:
Не вказано

Інформація про роботу

Рік:
2007
Тип роботи:
Звіт до лабораторної роботи
Предмет:
Методи та засоби КІТ

Частина тексту файла

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ "ЛЬВІВСЬКА ПОЛІТЕХНІКА" Кафедра ПЗ ЗВІТ ДО ЛАБОРАТОРНОЇ РОБОТИ № 5 На тему: «Робота з WinAPI функціями та доступ до системних ресурсів» З дисципліни : «Методи та засоби КІТ» Тема роботи: Робота з WinAPI функціями та доступ до системних ресурсів. Мета роботи: Навчитись працювати з WinAPI функціями та системними ресурсами. ХІД РОБОТИ: ЗАВДАННЯ: Робота з реєстром, зміна відповідних ключів, задання відповідних параметрів. ТЕКСТ ПРОГРАМИ: Unit1: unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ComCtrls, Menus, Buttons, Registry, Unit2, XPMan; type TForm1 = class(TForm) lbKeys: TListBox; lvPair: TListView; PopupMenu1: TPopupMenu; pmChange: TMenuItem; pmDel: TMenuItem; N1: TMenuItem; cbRoot: TComboBox; SBar1: TStatusBar; pmCreate: TMenuItem; PopupMenu2: TPopupMenu; pmCreateKey: TMenuItem; XPManifest1: TXPManifest; procedure FormCreate(Sender: TObject); procedure ShowSubKey(_hkey: HKEY); procedure lbKeysClick(Sender: TObject); procedure lbKeysDblClick(Sender: TObject); procedure cbRootChange(Sender: TObject); procedure PopupMenu1Popup(Sender: TObject); procedure pmCreateKeyClick(Sender: TObject); procedure pmCreateClick(Sender: TObject); procedure pmChangeClick(Sender: TObject); procedure pmDelClick(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; Const RootW: array[0..5]of HKEY=( HKEY_LOCAL_MACHINE, HKEY_USERS, HKEY_CLASSES_ROOT, HKEY_CURRENT_USER, HKEY_CURRENT_CONFIG, HKEY_DYN_DATA); implementation {$R *.dfm} var path: array[0..300] of string; fullp: string; ip: integer; root: HKEY; Vals: TStringList; _Stop: boolean = false; NeedVal: integer; Data : string; NeedName: string; cc: integer; vname : pchar; sname: string; _type: cardinal; dat: array[0..4096] of char; sbuf: string; procedure TForm1.FormCreate(Sender: TObject); begin root:=HKEY_LOCAL_MACHINE; ShowSubKey(root); end; procedure TForm1.cbRootChange(Sender: TObject); begin root:=RootW[cbRoot.ItemIndex]; ip:=0; fullp:=''; SBar1.SimpleText:=''; lbKeys.Clear; lbKeysDblClick(self) end; procedure TForm1.ShowSubKey(_hkey: HKEY); var buf: ShortString; SubKNum, ValNum, lsname,lvname,lvdata: DWord; ltime: dword; name: PChar; k: cardinal; begin RegQueryInfoKey(_hkey,@buf,@length(buf),nil,@SubKNum,@lsname,nil, @ValNum,@lvname,@lvdata,nil,@ltime); lbKeys.Items.BeginUpdate; lvPair.Clear; lbKeys.Clear; if SubKNum<>0 then begin GetMem(name,lsname+1); for k:=0 to SubKnum-1 do begin RegEnumKey(_hkey,k,name,lsname+1); lbKeys.Items.Add(string(name)); end; FreeMem(name); end; if ip>0 then lbKeys.Items.Insert(0,'<...>'); lbKeys.Items.EndUpdate; end; procedure TForm1.lbKeysDblClick(Sender: TObject); var _hkey: HKEY; i: integer; begin i:=lbKeys.ItemIndex; if i>=0 then if lbKeys.Items.Strings[i]='<...>' then begin dec(ip); end else begin path[ip]:=lbKeys.Items.Strings[i]; inc(ip); end; fullp:=''; for i:=0 to ip-1 do fullp:=fullp+path[i]+'\'; Sbar1.Panels.Items[0].Text:=cbRoot.Text+'\'+fullp; if RegOpenKeyEx(root,pchar(fullp),0,KEY_EXECUTE ,_hkey) =0 then begin ShowSubKey(_hkey); end else ShowMessage('Помилка'); RegCloseKey(_hkey); end; procedure TForm1.lbKeysClick(Sender: TObject); var buf: array[0..100] of char; SubKNum, ValNum: integer; lsname,lvname,lvdata: dword; ltime: dword; i, k, n: dword; vname: PChar; st1: string; bufw: dword; _type: integer; err: longint; _path: string; buf0: array[0..255] of char; _hkey: HKEY; begin i:=lbKeys.ItemIndex; lvPair.Items.Clear; if (lbKeys.Items.Strings[i]<>'<...>') then else exit; if (fullp<>'') then _path:=fullp+lbKeys.Items.Strings[i]+'\' else _path:=lbKeys.Item...
Антиботан аватар за замовчуванням

10.02.2013 23:02

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

Оголошення від адміністратора

Антиботан аватар за замовчуванням

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Новини